package com.jhx.video.publish

import android.app.Activity
import com.jhx.common.framework.BasePresenter
import com.jhx.common.framework.BaseView
import com.jhx.common.model.Video
import com.jhx.video.model.Bonus
import com.jhx.video.videoupload.TXUGCPublishTypeDef

/**
 *
 *
 * @author Jack 2018-03-08 18:53
 */
class Contract {

    interface PublishView : BaseView {
        fun getContext(): Activity?
        fun reportServerSuccess(data: Bonus?)
        fun getSignSuccess(sign: String?)
        fun publishError(code: Int, msg: String?)
        fun getVideoList(list: List<Video>?)
        fun publishSuccess(result: TXUGCPublishTypeDef.TXPublishResult?)
    }

     abstract class PublishPresenter: BasePresenter<PublishView>() {
         abstract fun getSign()
         abstract fun publishVideo(sign: String?, coverPath: String?, videoPath: String?)
         abstract fun reportServer(desc: String?,
                                  videoUrl: String?,
                                  coverUrl: String?,
                                  videoId: String?,
                                  time: String?)
         abstract fun queryAll()
    }
}